package com.company.utils;

import com.company.core.exception.ValidatorArgsException;
import com.google.common.base.Strings;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.StringUtils;

/**
 * @author lcl
 * @Title: ExceptionHandler
 * @ProjectName smart-planet
 * @Description: 简单的断言工具类
 * @date 18/9/22下午1:44
 */
@Slf4j
public class AssertUtils {
	/**
	 *  检查字符串是否是 "" 或者 null 是则抛出异常
	 * @param str
	 * @param message
	 */
	public static void isBlank(String str, String message) {
		if (StringUtils.isBlank(str)) {
			throw new ValidatorArgsException(message);
		}
	}

	/**
	 * 检查对象是否是null 是则抛出异常
	 * @param object
	 * @param message
	 */
	public static void isNull(Object object, String message) {
		if (object == null) {
			throw new ValidatorArgsException(message);
		}
	}

	/**
	 * 判断对象是否为 "" 或者 null 是则抛出异常
	 * @param object
	 * @param message
	 */
	public static void isNullOrEmpty(Object object, String message) {
		if (!CheckUtils.isNotEmpty(object)) {
			throw new ValidatorArgsException(message);
		}
	}

	/**
	 * 判断是否是false 是则抛出异常
	 * @param f
	 * @param methodName
	 */
	public static void isFalse(Boolean f, String methodName) {
		if (!f) {
			log.info(methodName);
			throw new ValidatorArgsException(Strings.nullToEmpty(methodName));
		}
	}
}
